def decorator(before, *args_before, **kwargs_before):
    def outter(func):
        def inner(*args, **keargs):
            before_result = before(*args_before, **kwargs_before)
            current_result =  func(*args, **keargs)
            return current_result
        return inner
    return outter

def before():
    print('before')

def current():
    print('current')

def print_str(str):
    print(str * 20)

@decorator(print_str, '-')
@decorator(before)
def current():
    print('current')

current()

